home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
201-225
/
222
/
plplot
/
examples
/
example04.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-13
|
990b
|
39 lines
/* Illustration of logarithmic axes, and redefinition of window */
#include <math.h>
main()
{
int i;
float freql[101],ampl[101],phase[101];
float f0, freq;
plstar(1,1);
pladv(0);
plfont(2);
f0 = 1000.0;
for (i=0; i<=100; i++) {
freql[i]=1.0+i/20.0;
freq= pow(10.0,freql[i]);
ampl[i]=20.0*log10(1.0/sqrt(1.0+pow((freq/f0),2.)));
phase[i]=-(180.0/3.141592654)*atan(freq/f0);
}
plvpor(0.15,0.85,0.1,0.9);
plwind(1.0,6.0,-80.0,0.0);
plbox("bclnst",0.0,0,"bnstv",0.0,0);
plline(101,freql,ampl);
plptex(5.0,-30.0,1.0,-20.0,0.5,"-20 dB/decade");
plwind(1.0,6.0,-100.0,0.0);
plbox(" ",0.0,0,"cmstv",30.0,3);
plline(101,freql,phase);
plmtex("b",3.2,0.5,0.5,"Frequency");
plmtex("t",2.0,0.5,0.5,"Single Pole Low-Pass Filter");
plmtex("l",5.0,0.5,0.5,"Amplitude (dB)");
plmtex("r",5.0,0.5,0.5,"Phase shift (degrees)");
plend();
}